package 双指针;

import org.junit.Test;

public class Ch03_移除颜色的石头 {
    @Test
    public void test(){
        String str="BRBG";
        System.out.println(remove(str.toCharArray()));
    }

    /**
     * 题目：桌子上有三种石头：R,C,G。
     * 这些石头连成一排，需要从这些石头中拿掉一些，使得相邻颜色石头不同。需要拿掉多少石头
     * 思路：
     *      慢指针始终在快指针前一个位置
     *      如果快指针和慢指针颜色相同则移除一个
     */
    public int remove(char[] chars){
        int count=0;
        int pre=0,curr=1;
        while (curr<chars.length){
            count+=chars[pre++]==chars[curr++]?1:0;
        }
        return count;
    }
}
